﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Wcf._5Dev.SettlementExpenses.Tests.ServiceReferenceSettlementExpenses;

namespace Wcf._5Dev.SettlementExpenses.Tests
{
    /// <summary>
    /// Summary description for UnitTest1
    /// </summary>
    [TestClass]
    public class UnitTestWCFCostCenter
    {
        public UnitTestWCFCostCenter()
        {
            //
            // TODO: Add constructor logic here
            //
        }
     static   SettlementExpensesClient oSettlementExpensesClient = null;
        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        [ClassInitialize()]
        public static void MyClassInitialize(TestContext testContext) {
         oSettlementExpensesClient=new SettlementExpensesClient();
        }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test 
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion
        [TestMethod]
        public void TestInsert()
        {
            CostCenter oCostCenter = oSettlementExpensesClient.Insert("Caja", "caja");
            //CostCenter oCostCenter1 = oSettlementExpensesClient.Insert("test1", "test1");

            Assert.AreNotEqual(0, oCostCenter.Id);
        }
        [TestMethod]
        public void TestUpdate()
        {
            CostCenter oCostCenter = oSettlementExpensesClient.Update(4, "cambio", "cambio");

            Assert.AreEqual("cambio", oCostCenter.Denomination);
        }
        [TestMethod]
        public void TestList()
        {

            List<CostCenter> listCostCenter = oSettlementExpensesClient.List().ToList();

            Assert.IsNotNull(listCostCenter);                   
        }
        [TestMethod]
        public void TestGet()
        {
            CostCenter oCostCenter = oSettlementExpensesClient.Get(4);

            Assert.IsNotNull(oCostCenter);
        }
       
        [TestMethod]
        public void TestDelete()
        {
            CostCenter oCostCenter = oSettlementExpensesClient.Delete(4);

            Assert.IsNotNull(oCostCenter);
        }

        
    }
}
